// P2670 write by cn_ryh